#! /bin/sh -vx
# Copyright 2017 Karl Berry <tex-live@tug.org>
# Copyright 2015 Peter Breitenlohner <tex-live@tug.org>
# You may freely use, modify and/or distribute this file.

testdir=$abs_srcdir/triptrap
+ testdir=SRCDIR/triptrap
ltestdir=$abs_srcdir/mfluadir/mfluatrap
+ ltestdir=SRCDIR/mfluadir/mfluatrap
jtestdir=$abs_srcdir/mfluajitdir/mfluajittrap
+ jtestdir=SRCDIR/mfluajitdir/mfluajittrap

TEXMFCNF=$ltestdir
+ TEXMFCNF=SRCDIR/mfluadir/mfluatrap
LUAINPUTS=$ltestdir
+ LUAINPUTS=SRCDIR/mfluadir/mfluatrap
export TEXMFCNF LUAINPUTS
+ export TEXMFCNF LUAINPUTS

rm -rf mfluajittrapdir
+ rm -rf mfluajittrapdir
mkdir mfluajittrapdir
+ mkdir mfluajittrapdir
cd mfluajittrapdir
+ cd mfluajittrapdir

echo ">>> Running TRAP test for MFLuaJIT." >&2
+ echo '>>> Running TRAP test for MFLuaJIT.'
>>> Running TRAP test for MFLuaJIT.
echo ">>> See $jtestdir/mfluajittrap.diffs for example of acceptable diffs." >&2
+ echo '>>> See SRCDIR/mfluajitdir/mfluajittrap/mfluajittrap.diffs for example of acceptable diffs.'
>>> See SRCDIR/mfluajitdir/mfluajittrap/mfluajittrap.diffs for example of acceptable diffs.

is_OK=:
+ is_OK=:

set -x
+ set -x

# get same filename in log
$LN_S $testdir/trap.mf .
+ ln -s SRCDIR/triptrap/trap.mf .

./mfluajit --progname=inimfluajit <$testdir/mftrap1.in >mftrapin.fot
+ ./mfluajit --progname=inimfluajit
if test ! -s trap.base; then
  echo "*** trap.base not created by mftrap1.in, investigate!" >&2
  exit 1
fi
+ test '!' -s trap.base
mv trap.log mftrapin.log || exit 1
+ mv trap.log mftrapin.log
diff $testdir/mftrapin.log mftrapin.log
+ diff SRCDIR/triptrap/mftrapin.log mftrapin.log
1c1
< This is METAFONT, Version 2.71828182 (INIMF)  4 JUL 1776 12:00
---
> This is MFLuaJIT, Version 2.71828182-1.0.0-alpha (INIMF)  27 JAN 2021 18:03
150c150
< String usage 26&83 (892&11481 still untouched)
---
> String usage 30&98 (1047458&9979376 still untouched)
176,177c176,177
<  (preloaded base=trap 1776.7.4)
< 1116 strings of total length 20570
---
>  (preloaded base=trap 2021.1.27)
> 1125 strings of total length 20685
179c179
< 265 symbolic tokens
---
> 266 symbolic tokens

./mfluajit --progname=inimfluajit <$testdir/mftrap2.in >mftrap.fot
+ ./mfluajit --progname=inimfluajit
mv trap.log mftrap.log || exit 1
+ mv trap.log mftrap.log
mv trap.tfm mftrap.tfm || exit 1
+ mv trap.tfm mftrap.tfm
diff $testdir/mftrap.fot mftrap.fot
+ diff SRCDIR/triptrap/mftrap.fot mftrap.fot
1,3c1,4
< This is METAFONT, Version 2.71828182 (INIMF)
< ** &trap  trap 
< (trap.mf
---
> MFLua version: 1.0.0-alpha
> MFLua banner:  This is MFLua, Version 2.71828182-1.0.0-alpha
> This is MFLuaJIT, Version 2.71828182-1.0.0-alpha (TeX Live 2021/dev) (INIMF)
> **(trap.mf
22a24,99
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
27a105,136
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
> Warning: print_scale called with  nil argument.
> 
39c148
< String usage 41&161 (816&7678 still untouched)
---
> String usage 50&202 (1047372&9975522 still untouched)
59a169
> Warning: end_program.lua not found
diff $testdir/mftrap.log mftrap.log
+ diff SRCDIR/triptrap/mftrap.log mftrap.log
1c1
< This is METAFONT, Version 2.71828182 (preloaded base=trap 1776.7.4)  4 JUL 1776 12:00
---
> This is MFLuaJIT, Version 2.71828182-1.0.0-alpha (preloaded base=trap 2021.1.27)  27 JAN 2021 18:03
133,134c133,134
< <scantokens> pair
<                   p[],';^^ff
---
> <scantokens> or <runscript> pair
>                                  p[],';^^ff
145,146c145,146
< <scantokens> pair
<                   p[],';^^ff
---
> <scantokens> or <runscript> pair
>                                  p[],';^^ff
158,159c158,159
< <scantokens> pair
<                   p[],';^^ff
---
> <scantokens> or <runscript> pair
>                                  p[],';^^ff
169,170c169,170
< <scantokens> pair p[],';^^ff
<                             
---
> <scantokens> or <runscript> ...f
>                                 
1825c1825
< String usage 24&92 (859&11353 still untouched)
---
> String usage 30&119 (1047418&9979190 still untouched)
4235c4235
< String usage 41&161 (816&7678 still untouched)
---
> String usage 50&202 (1047372&9975522 still untouched)
4251,4252c4251,4252
<  68 strings out of 884
<  3752 string characters out of 11430
---
>  77 strings out of 1047449
>  3793 string characters out of 9979315
4254,4255c4254,4255
<  289 symbolic tokens out of 2100
<  8i,43n,14r,8p,167b stack positions out of 30i,100n,300r,150p,500b
---
>  290 symbolic tokens out of 9500
>  8i,43n,14r,8p,167b stack positions out of 300i,300n,1000r,150p,3000b
4263c4263
<   out of 256w,16h,16d,64i,5000l,500k,256e,50p)
---
>   out of 256w,16h,16d,64i,15000l,2500k,256e,60p)

./tftopl ./mftrap.tfm mftrap.pl || exit 1
+ ./tftopl ./mftrap.tfm mftrap.pl
diff $testdir/mftrap.pl mftrap.pl || is_OK=false
+ diff SRCDIR/triptrap/mftrap.pl mftrap.pl

./gftype -m -i ./trap.72270gf >trap.typ || exit 1
+ ./gftype -m -i ./trap.72270gf
diff $testdir/trap.typ trap.typ
+ diff SRCDIR/triptrap/trap.typ trap.typ
1c1
< This is GFtype, Version 3.1
---
> This is GFtype, Version 3.1 (TeX Live 2021/dev)
3c3
< ' METAFONT output 2014.01.07:1811'
---
> ' METAFONT output 2021.01.27:1803'

$is_OK || {
  echo ">>> There were some errors." >&2
  exit 1
}
+ :

PASS mfluajitdir/mfluajittraptest.test (exit status: 0)
PASS: mfluajitdir/mfluajittraptest.test
